﻿using J.StatusModel;
using J.StatusModel.Dto;
using StatusDto;

namespace StatusService
{
    public interface IRoomNumManageService
    {
        /// <summary>
        /// 房号添加
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        Task<int> RoomNumAdd(RoomNumManage info);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Task<int> RoomNumDelete(int Id);
        /// <summary>
        /// 分页
        /// </summary>
        /// <param name="roomStateDto"></param>
        /// <returns></returns>
        Task<PageDto<RoomNumDto>> RoomNumShow(RoomStateDto roomStateDto);
        /// <summary>
        /// 分页
        /// </summary>
        /// <param name="roomStatusDto"></param>
        /// <returns></returns>
        Task<PageDto<RoomNumDto>> RoomStatusShow2(RoomStatusDto roomStatusDto);
        /// <summary>
        /// 回显
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Task<RoomNumManage> RoomNumFill(int Id);
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        Task<int> RoomNumUpdate(RoomNumManage info);
        /// <summary>
        /// 批量下架
        /// </summary>
        /// <param name="States"></param>
        /// <returns></returns>
        Task<int> RoomNumUpdateAll(string Ids, int States);
        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="Ids"></param>
        /// <returns></returns>
        Task<int> RoomNumDeleteAll(string Ids);
        /// <summary>
        /// 修改上下架
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="State"></param>
        /// <returns></returns>
        Task<int> RoomNumUpdateS(int Id, int State);
        
        /// <summary>
        /// 房态筛选
        /// </summary>
        /// <param name="RoomTypeId"></param>
        /// <param name="RoomStateId"></param>
        /// <param name="OtherId"></param>
        /// <returns></returns>
        Task<List<RoomNumManage>> RoomStateShow(int RoomTypeId, RoomState RoomStateId, RoomStates OtherId);
    }
}
